package com.base.cn.platform.os.controller.manage.config;

import com.base.cn.platform.os.common.controller.BaseController;
import com.base.cn.platform.os.common.utils.StringUtils;
import com.base.cn.platform.os.common.utils.result.ResultUtil;
import com.base.cn.platform.os.entity.manage.config.SysLinkConfig;
import com.base.cn.platform.os.service.manage.config.SysLinkConfigBiz;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
 * 链接配置Controller
 *
 * @author s.li
 * @create 2018-04-10-18:45
 */
@RestController
@RequestMapping("/manage")
public class SysLinkConfigController extends BaseController {

    @Autowired
    private SysLinkConfigBiz sysLinkConfigBiz;

    /**
     * 保存链接配置数据
     * @param sysLinkConfig 链接配置数据对象
     * @return Map<String,Object>
     */
    @RequestMapping("/saveSysLinkConfig")
    public Map<String,Object> saveSysLinkConfig(@RequestBody SysLinkConfig sysLinkConfig){
        if(StringUtils.isEmpty(sysLinkConfig.getLinkName())){
            return ResultUtil.ERROR("请填写链接名");
        }
        if(StringUtils.isEmpty(sysLinkConfig.getLinkUrl())){
            return ResultUtil.ERROR("请填写链接URL");
        }
        sysLinkConfig = sysLinkConfigBiz.saveSysLinkConfig(sysLinkConfig);
        return ResultUtil.SUCCESS("链接配置保存成功",sysLinkConfig);
    }

    /**
     * 通过ID，查询链接数据对象
     * @param id 链接ID
     * @return SysLinkConfig
     */
    @RequestMapping("/findSysLinkConfigById")
    public SysLinkConfig findSysLinkConfigById(@RequestParam("id") BigDecimal id){
        return sysLinkConfigBiz.findById(id);
    }

    /**
     * 查询链接配置数据列表
     * @param sysLinkConfig 查询条件
     * @return List<SysLinkConfig>
     */
    @RequestMapping("/findSysLinkConfigList")
    public List<SysLinkConfig> findSysLinkConfigList(@RequestBody SysLinkConfig sysLinkConfig){
        return sysLinkConfigBiz.findSysLinkConfig(sysLinkConfig);
    }

    /**
     * 修改链接配置状态
     * @param ids 链接配置ID串
     * @param status 状态，1正常，2禁用，3删除
     * @return Map<String,Object>
     */
    @RequestMapping("/updateSysLinkConfigStatus")
    public Map<String,Object> updateSysLinkConfigStatus(@RequestParam("ids") String ids,@RequestParam("status") int status){
        sysLinkConfigBiz.updateSysLinkConfigStatus(ids,status);
        if(status==3){
            return ResultUtil.SUCCESS("链接配置删除成功");
        }else{
            return ResultUtil.SUCCESS("链接配置状态修改成功");
        }
    }

    /**
     * 前台获取链接配置接口
     * @return Map<String,List<SysLinkConfig>>
     */
    @RequestMapping("/findWebLinkMapList")
    public Map<String,List<SysLinkConfig>> findWebLinkMapList(){
        return sysLinkConfigBiz.findWebLinkMapList();
    }
}
